Skip to content

proposal: opt-in witness retrieval via flag on existing engine methods#799

Draft
frisitano wants to merge 1 commit into
ethereum:mainfrom
frisitano:proposal/witness-retrieval-via-flag
Draft

proposal: opt-in witness retrieval via flag on existing engine methods#799
frisitano wants to merge 1 commit into
ethereum:mainfrom
frisitano:proposal/witness-retrieval-via-flag

Conversation

@frisitano
Copy link
Copy Markdown

Adds src/engine/witness-retrieval.md describing an Engine API extension that allows the consensus layer to opt in to receiving the execution witness alongside the existing payload validation and payload production flows.

Design summary:

  • engine_newPayloadV6: extends V5 with an optional requestWitness param and an optional executionWitness field on PayloadStatusV2.
  • engine_forkchoiceUpdatedV5: accepts PayloadAttributesV5, which adds a requestWitness field so the EL can configure witness collection before execution begins.
  • engine_getPayloadV7: response gains an optional executionWitness, populated when the originating FCU set requestWitness = true.
  • ExecutionWitnessV1: DATA representing SSZ-encoded witness bytes, following the on-wire convention of BlobV1. Container schema defined externally in a consensus-specs companion document.

Offered as an alternative to the *WithWitness method approach (issue #741, PR #773). Rationale doc compares this against *WithWitness and notes composition with the SSZ-REST transport (PR #764).

Adds src/engine/witness-retrieval.md describing an Engine API extension
that allows the consensus layer to opt in to receiving the execution
witness alongside the existing payload validation and payload production
flows.

Design summary:
- engine_newPayloadV6: extends V5 with an optional `requestWitness` param
  and an optional `executionWitness` field on PayloadStatusV2.
- engine_forkchoiceUpdatedV5: accepts PayloadAttributesV5, which adds a
  `requestWitness` field so the EL can configure witness collection
  before execution begins.
- engine_getPayloadV7: response gains an optional `executionWitness`,
  populated when the originating FCU set `requestWitness = true`.
- ExecutionWitnessV1: DATA representing SSZ-encoded witness bytes,
  following the on-wire convention of BlobV1. Container schema defined
  externally in a consensus-specs companion document.

Offered as an alternative to the *WithWitness method approach (issue
ethereum#741, PR ethereum#773). Rationale doc compares this against *WithWitness and
notes composition with the SSZ-REST transport (PR ethereum#764).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant